Flexible time slot for communication

ABSTRACT

The present invention relates to being able to adjust a time period of a time slot in a communication channel, depending on the information being sent in the time slot. In one embodiment of the present invention, a process and system for automatically adjusting a time period of a time slot in a communication channel is presented. The communication channel is monitored. A determination is made to see whether data are being transmitted in a time slot in the communication channel. The time slot is adjusted to a first time period if data are being transmitted in the time slot. The time slot is adjusted to a second time period if data are not being transmitted in the time slot.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is related to the following co-pending, commonlyassigned, U.S. patent applications: Ser. No. 09/306,038 and Ser. No.09/306,012, respectively entitled “PAGE in a Selected Phone Group”; and“Telephone Port with Automatic Detection and Secure”, all filed on May6, 1999, in the names of the present inventors.

FIELD OF THE INVENTION

The present invention generally relates to a communication system andmethod, and in particular, to a method and system of adjusting a timeperiod of a time slot in a communication channel, depending on theinformation present in the time slot.

BACKGROUND OF THE INVENTION

There are several types of multiline telephone systems on the markettoday. One type of multiline system is referred to as a “key telephonesystem.” This type of system has multiple telephones known as “keytelephones”, each connected by a communication medium to a centralcontrol box referred to as a “key service unit” (KSU).

There are some potential problems with a key telephone system. Oneproblem is the wiring required for each telephone in the system to beconnected to the central control box. Another problem is that since mostof the intelligence is built into the central control box, there is asingle point of failure in the system.

A KSU-less multiline telephone system, on the other hand, does notrequire a key service unit. The telephones in the system are simplyinterconnected to each other. The intelligence is distributed among theindividual telephones, instead of being centralized in a KSU. A KSU-lesssystem may, therefore, be more desirable, especially in a small businessor home office environment.

SUMMARY OF THE INVENTION

The present inventors recognize the importance of providing a featurerich-environment even within a KSU-less telephone system. The presentinventors also recognize the importance of providing these features inan efficient and cost-effective manner to be able to target thesesystems for the SOHO (Small Office/Home Office) market.

In view of these and other objectives, the present invention relates toadjusting a time period of a time slot in a communication channel,depending on the information being sent. In one embodiment of thepresent invention, a process for automatically adjusting a time periodof a time slot in a communication channel is presented, comprising thesteps of:

-   -   determining the content of the time slot in the communication        channel; and    -   adjusting the time period of the time slot in response to the        content of the time slot.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a system architecture of an embodiment of the presentinvention.

FIG. 2 shows, in block diagram form, a telephone constructed inaccordance with aspects of an embodiment of the present invention.

FIGS. 3A and 3B, 3C show characteristics of system voice and datacommunication channels respectively.

FIG. 4 shows various structure and time duration of a protocolassociated with an embodiment of the present invention.

FIG. 5 shows a table of commands according to a protocol associated withan embodiment of the present invention.

FIG. 6 is a flow diagram of an initialization and synchronizationprocess.

FIG. 7 is an illustration of a caller id information data packet.

FIG. 8 shows, in flow diagram form, an exemplary embodiment of time slotadjustment in accordance with aspects of the present invention.

FIG. 9 shows, in schematic diagram form, an embodiment of a line securefeature.

FIGS. 10A and 10B illustrate a line secure feature in accordance withthe principles of the present invention.

FIGS. 11A and 11B illustrate a group paging feature in accordance withthe principles of the present invention.

DETAILED DESCRIPTION OF THE DRAWINGS

FIG. 1 shows an exemplary KSU-less telephone system capable ofimplementing the present invention. The system comprises a plurality oftelephones 10-1 to 10-n interconnected to each other and to telephonelines 11-1 to 11-n, which are to/from a central office. System 1 alsoincludes a voice mail server 15 and a Caller ID server 19. Caller IDserver 19 is capable of processing caller ID information received. Voicemail server 15 is capable of processing voice mail for system 1.

In the present exemplary embodiment, every telephone 10-1 to 10-n insystem 1 needs to be connected to lines 11-1 and 11-2. This is becauseline 11-1 is used for control data communications and line 11-2 is foraudio communication among the telephones, as will be explained in moredetail below.

FIG. 2 shows a hardware block diagram representing one of the telephones10-1 to 10-n shown in FIG. 1. Each telephone 20 comprises a lineinterface circuit 21 which is capable of being connected to 4 pairs oftelephone lines selected from lines 11-1 to 11-n shown in FIG. 1. Eachpair of telephone lines 1-4 represents a pair of Tip and Ring wires. Thefunction of the line interface circuit 21 is to provide lineconditioning and line status sensing. It also provides line switchingand bridging among the 4 telephone lines to implement, for example,conferencing capabilities.

In addition, telephone 20 also includes a RF portion 25. The RF portion25 comprises a transceiver circuit 22 for connecting to line 11-2 of themultiline system 1. As mentioned above, line 11-2 of the system isdesignated as the communication medium for intra-system audiocommunication, such as for intercom or paging among telephones 10-1 to10-n in the system. Transceiver 22 is capable of transmitting andreceiving three RF modulated and frequency multiplexed audio channelscarried on line 11-2. One of the audio channels is used for paging in ahalf duplex mode, and the other two channels are used for full duplexintercom. Exemplary characteristics of the audio channels are listed inFIG. 3A. An example of a suitable IC capable of implementing thefunctions of transceiver 22 is MC13109, available from Motorola.

There is also a transmitter 24 and receiver 24 pair for implementing adata channel. As described before, the data channel is used to transfersystem control and signaling data among telephones 10-1 to 10-n and anyother adjunct servers such as voice mail server 15 and caller ID server19. A summary of the characteristics of an exemplary data channel isshown in FIG. 3B. The data channel's maximum bit rate is in the range of2 Kbps, using Manchester coding. An exemplary modulation anddemodulation method is narrow band FSK. An example of a suitable ICcapable of implementing the functions of receiver 23 is MC3361,available from Motorola. The transmitter 24 may be implemented as a VCObased discrete circuit, as is well know in the art.

Audio transceiver 22, and data transceiver pair 23 and 24 are monitoredand controlled by a RF microcontroller 26. Microcontroller 26 monitorsthe status of the transceivers and also communicates with a mastermicrocontroller 29 for telephone 20. RF microcontroller 26 is alsoresponsible for generating the timing signals for the varioustransceivers in the RF portion of telephone 20. RF microcontroller isalso responsible for physical and link level control of the data channelcarried on line 11-1. An example of a suitable IC capable ofimplementing the functions of RF microcontroller 26 is TMP 87C808,available from Toshiba.

A master microcontroller 29 monitors and controls the various functionsof telephone 20. It monitors and controls the line interface circuit 21through a line interface unit (LIU) microcontroller 28. An example of asuitable IC capable of implementing the functions of the LIUmicrocontroller 28 is TMP87C446N, available from Toshiba.

The master controller 29 also interfaces with the RF portion 25 througha serial bus 31 connected to the RF microcontroller 26. The mastercontroller 29 also communicates with user interface portion 30 of thetelephone 20, such as a keyboard 32 and a display 33 of telephone 20. Italso controls a speech IC 35 which is connected to handset and/orheadset of the telephone. In addition, a handfree circuit 36 is alsobeing monitored by the master microcontroller 29 to implement speakerphone functions for telephone 20. An example of a suitable IC capable ofimplementing the functions of master microcontroller 29 is TMP 87CM53F,available from Toshiba.

As discussed above, telephones 10-1 to 10-n in the KSU-less system 1communicate among each other to implement the features of the systemusing a data communication channel carried on line 11-1 of the system.The data channel is further divided by a time slot allocation schemeshown as element 401 of FIG. 4. As shown in FIG. 4, the data channel isdivided into 32 data packet time slots and 3 “join-in” (e.g., J) timeslots. The function and utilization of these time slots will bediscussed in more detail below.

When telephones 10-1 to 10-n in system 1 are first interconnected andpowered up, each telephone is first assigned a respective station ID bya system administrator. The telephones will then only transmit datainformation at the time slot corresponding to its own station ID. Forexample, a telephone may be assigned a station ID 5. The telephone willthen only broadcast data on time slot 5. Every telephone in system 1,however, will monitor the data channel at all times to see if it needsto respond to any data on the data channel.

Element 402 of FIG. 4 shows a generic data packet structure of anexemplary protocol to implement the principles of the present invention.As shown in FIG. 4, a typical data packet comprises of a 9-bit preamble,a 6-bit command, a 6-bit operand 1, a 64 bit operand 2, an 8 bitchecksum, a 1 bit stop bit and a 1 bit guard bit. Each bit is RZManchester coded and lasts 500 μs. FIG. 5 shows the syntax of variouscommands that may be used by the present system to implement theprinciples of the present invention.

When a telephone is initially powered up in the present system, it is ina free running mode based on its own internal timing. Each of thetelephones 10-1 to 10-n will then attempt to synchronize itself with allother telephones in system 1 according to a synchronizing andidentification algorithm such as that shown in FIG. 6.

As shown in step 601 of FIG. 6, after a telephone in system 1 isinitially powered up and a station ID has been assigned, the telephonewill wait a period of time, for example, 5 seconds as shown in step 602.This waiting period provides time to let another telephone, which mayhave already started the initialization process for system 1, tocomplete the initialization process.

In step 605, after the waiting period, the telephone will monitor thedata channel to see if there is any valid command present in the datachannel. The valid command may be observed from a valid preamble shownfor example, in element 402 of FIG. 4. This indicates that othertelephones in system 1 are already operational and have beensynchronized in system 1.

Once a valid command is observed, the telephone will then adjust itsfree-running timer, e.g., implemented in software of RF microcontroller26, to synchronize with the already functioning system 1 as shown instep 607. The telephone will determine which time slot the system iscurrently at by observing the originating address of the data packet,because this address corresponds to the time slot number. In step 609,the initializing telephone will also broadcast a join-in message in oneof the J time slots 405-407 as shown in FIG. 4. An example of a join-incommand is shown in element 502 of FIG. 5. The purpose of the join-inmessage is to broadcast to the other phones that it is now present inthe system. If this join in message is not rejected by a Reject messagefor a period of time as shown in step 611 then the initializingtelephone has successfully become part of functioning system 1. Thetelephone may then transmit any data packet at the next occurrence ofits assigned time slot as shown in step 630.

In step 613, if no valid command is observed for a certain period oftime, the initializing telephone will then assume that it is the firsttelephone on the system trying to initialize. The telephone will thenrandomly pick one of J1 to J3 time slots to broadcast a join in commandas discussed above in connection with step 609. Once this join inmessage is broadcast, other potentially existing telephone systems illthen use this command to synchronize themselves to this firstinitializing telephone as shown in step 619. This first initializingtelephone may then start transmitting in the time slot corresponding toits station ID, as shown in step 630.

In another aspect of the present invention, a data packet time slot ofthe data channel shown in FIG. 4, may be expanded or contracteddynamically to speed up transmission of the control and command data forsystem 1. The expansion and/or contraction of a time slot in system 1 isbased on-whether any data, as well as what type of data are being sentin the time slot.

In accordance with principles the present invention, a flow diagramshown in FIG. 8 depicts an embodiment which allows every telephone inthe present system to dynamically adjust the period of a time slot. Asshown in step 801 of FIG. 8, and as discussed previously, everyfunctioning telephone in the system is constantly monitoring the datachannel for any relevant data message. Any-telephone in system 1 cantherefore decide whether there is any data packet present in a timeslot, by looking at whether there is, for example, a valid preamblepresent. As discussed above, a valid preamble may comprise eight zerosfollowed by a one, as shown in FIG. 4.

Therefore, if a telephone in the present system observes that there isno data packet present in a particular time slot, the telephone willdecrease the duration of particular time slot time to a first timeperiod, e.g., 11 ms, as shown in step 805 of FIG. 8. On the other hand,when there is a data packet occupying a time slot, the telephone willneed to make a further determination as to what type of data packet thisis as shown in steps 803 and 807. In particular, as shown in step 807,the telephone needs to determine whether the data packet is a caller IDpacket.

As shown in step 805, if the telephone determines that the data packetsis not a caller ID packet, then the duration of the time slot willremain at a second time period, e.g., 50 ms, as shown in element 401 ofFIG. 4. On the other hand, if the data packet is a caller ID packet thenthe time slot duration will be expanded to a third time period asdescribed below.

A caller ID packet is used to transport incoming Caller ID informationthat has been processed by a Caller ID server 19 for display on atelephone in system 1. An example of a caller ID packet is shown aselement 505 of FIG. 5 and in FIG. 7. In the present embodiment, receivedCaller ID information is broken down into more than one data packet sothat more than 64 bits of Caller ID information may be sent in theoperand 2 field of a data packet.

In particular, as shown in FIG. 7, the operand 2 of the first Caller IDpacket 701 contains a number indicating how many packets will betransmitted for this particular Caller ID information. In order totransmit these multiple Caller ID packets as shown in FIG. 7, eachtelephone in the system, once it determines that a Caller ID packet isbeing sent in a time slot, will increase the length of the time slot toallow the transmission for all the caller ID packets consecutively, asshown in FIG. 7. In particular, each telephone in the system will expandthe length of a regular packet time slot (e.g., 50+1 ms shown as element402 of FIG. 4 by a factor equal to the number of packets for the CallerID information as determined from Operand 2 (i.e., 701 a) of the firstCaller ID packet 701. This way, the whole Caller ID information istransmitted contiguously, without having to wait for the time slot inthe next cycle. The protocol according to FIG. 8 therefore allow a timeslot to be dynamically expanded or contracted based on the content ofthe time slot.

The flow chart of FIG. 8 is preferably implemented as software to beexecuted by RF microcontroller 26 shown in FIG. 2. As implemented,microcontroller 26 is responsible for physical and link layer of thedata channel and also controls and monitors the timing of the datatransmitter 24 and data receiver 23 of the data channel.

In another aspect according to the principles of the present invention,a user is able to secure a telephone line in the system automatically,so that no other telephone is able to also pick up the secured line.This is particularly advantageous when the line is used for dataservices such as for modem or fax transmission.

Each telephone shown for example, in FIG. 2, of system 1 comprises aRJ-11 data jack 91. This data jack 91 may be used by, for example, amodem, a fax machine or just a Plain Old Telephone(POT). A user mayconfigure this data port to be connected to any of the 4 telephonelines, L1-L4, a telephone 20 is connected to by a slide switch in LineInterface circuit 21 of FIG. 2.

FIG. 9 shows in more detail this configuration. A slide switch 92 iscoupled between data jack 91 and telephone lines 1-4 (represented byR1-4 and T1-4) of a telephone in the system. A sensor 93 is coupled toone terminal of phone jack 91 through a sensing resistor R65. In thisexemplary embodiment, sensor 93 comprises an optical coupler 94.Therefore, when there is a device such as a modem or a fax connected todata jack 91 and is active, current will be generated through resistorR65 and sensed by sensor 93. A signal v-data-p will then be generatedand monitored by microcontroller 29.

Once microcontroller 29 senses that v-data-p is active (low), indicatingthere is a device active on the data port, the controller will broadcasta line secure command on the data channel at the time slot that isassigned to the present unit. The line secure command is shown, forexample, as element 501 in FIG. 5.

Line secure command 501 has a first operand which indicates which line(e.g., L1-L4; L5-L6 are currently reserved) of the data device is activefrom the point of view of the telephone sending the line secure command.The second operand of the command indicates an extension number of theline the telephone is trying to secure. This second operand is neededsince only Line 1 and Line 2 have to be connected to all the telephonesin the system. Therefore, Line 3 and Line 4 for each telephone in thesystem may be different physical lines and have different extensionnumbers. Operand 2, by specifying an extension number, can resolve theambiguity, as described in more detail below.

FIGS. 10A and 10B show a flow diagram in connection with the line securecommand. FIG. 10A is a sending process and FIG. 10B is a receivingprocess. In step 102 of FIG. 10A, a telephone at which a data port isattached will monitor and determine if the data port is in use asdescribed before. If this data port is in use, the telephone will thendecide whether this port is connected to line 1 or line 2 of thetelephone, as in step 104. If the line being secured is either line 1 orline 2 then the telephone will send the line secure command with Operand1 set to either L1 or L2 as shown in step 106. If on the other hand, theline being secured is L3 or L4, the telephone will set Operand 1 of thecommand to either L3 or L4. The telephone will also put thecorresponding extension number of the line in the second operand of thecommand.

On the receiving end, each telephone in the system will receive the linesecure command that was broadcast as illustrated in FIG. 10A. In step112, a receiving telephone will first determine whether Operand 1 of thereceived command contains either L1 or L2. In step 114, if the conditionis true, microprocessor 29 in the telephone will then secure the line.Securing a line means that a user of the telephone will not be able toaccess the line. This is done, for example, by a control program ofmicroprocessor 29. Also, a visual indication may be given to a user tonotify the user that a particular line is secured by lighting up an LEDassociated with the line or an indication on LCD 33 as shown in FIG. 2.

If the user still attempts to access the line, the telephone may giveoff an audio beep to notify the user that the line cannot be accessed.

On the other hand, if Operand 1 of the received command is L3 or L4,then the receiving telephone will also look at Operand 2 of the receivedcommand. It will compare the extension number in operand 2 with theextension numbers of its own L3 or L4, as shown in step 116. If there ismatch of the extension number, microprocessor 29 of the telephone willthen secure the corresponding L3 or L4. Otherwise, the line securecommand is disregarded, as shown in step 120, since the particular linethe sending telephone is trying to secure is not physically connected tothe receiving telephone line.

Additionally, all the telephones in the system may display either theline number and/or the extension number of the line that has beensecured. This information is included in the line secure data packet, asdescribed before. For lines 1 and 2, the extension numbers associatedwith these lines-were already preprogrammed in each telephones in thesystems, therefore enabling them to display the extension associatedwith line 1 or 2, even though the extension number was not send in thedata packet.

In another aspect of the present invention, system 1 also allows a grouppaging feature. A group paging feature allows any telephone in system 1to send a one-way voice communication to a group of telephones that arein a community of interest. This feature according to the principles ofthe invention is illustrated in FIGS. 11A and 11B and discussed below.

FIG. 11A illustrates the process flow of a paging telephone. At step111, the telephone is assigned a group number in which it belongs insystem 1 when the telephone is first powered up and being set up. Atstep 112, to initiate a group paging feature, a user of the telephonewould either pick up a handset of the telephone or activate a speakerphone.

The user may then select to page all the telephones in system 1 orselect a group number to page, as shown in step 114. This may beaccomplished via keyboard 32 and LCD 33 of system 1 shown in FIG. 2.

Once a group is selected, microcontroller 29 of the paging telephonewill then broadcast a “page on” command as shown in element 509 of FIG.5. This command has an Operand 2, which contains the group number thatthis page is meant for. Once this command is sent, a go ahead beep willbe sounded. After the user has heard this beep the user can then speakhis or her paging message, as shown in steps 116 and 118. This pagingmessage will be carried on the half-duplex audio voice channel carriedon L2 of the system, as described in detail above. The page will endwhen the paging telephone is hung up by the user or will endautomatically 30 seconds after the page, which ever is faster. The pageis terminated when the paging unit sends a “page off” command as shownin 510 of FIG. 5.

FIG. 11B describes a receiving process of the group paging feature. Atthe receiving end, a telephone in the group being paged will realizedthat it is being paged by the page on command sent, as described above.Once this command is received at a telephone included in the group, analert tone will be generated to alert a user, as shown in step 122. Inone embodiment, the telephone will also automatically connect thehalf-duplex paging channel to the speakerphone of the paged telephone,so that the voice message is heard from the speaker, as in step 124. Thepaged telephone will also display the originating ID, which can beobtained from the page on command, on display 33 of the telephone. Theuser of the paged telephone after having heard the page message, mayalso initiate a 2-way conversation with the paging telephone by simplyanswering the telephone. A two way intercom is set up by the receivingtelephone sending a “Intercom on command” shown in 511 of FIG. 5. Asdiscussed above, intercom communications are carried on two full-duplexvoice channels by transceiver 22 of FIG. 2.

It is to be understood that the embodiments and variations shown anddescribed herein are for illustrations only and that variousmodifications may be implemented by those skilled in the art withoutdeparting from the scope and spirit of the invention.

1. A process for automatically adjusting time slot duration of a timeslot in a communication channel, comprising the steps of: determiningwhether data are being transmitted in the time slot in saidcommunication channel; adjusting said time slot duration to a first timeperiod if said data are not being transmitted in said time slot; and ifsaid data are being transmitted in said time slot, determining whethersaid data is of a particular packet type, and adjusting said time slotduration in response to the data type determination.
 2. The process ofclaim 1, wherein if the determined packet type is not of the particularpacket type, the second adjusting step adjusts said time slot durationto a second time period.
 3. The process of claim 2, wherein said secondtime period is greater than said first time period.
 4. A process forautomatically adjusting a time slot duration of a time slot in acommunication channel, comprising the steps of: determining whether dataare being transmitted in the time slot in said communication channel;determining whether the data being transmitted comprises a particularpacket type; adjusting said time slot duration to a first time period ifthe data are not being transmitted in said time slot; adjusting saidtime slot duration to a second time period if the data are beingtransmitted in said time slot; adjusting said time slot duration to asecond time period if the data are being transmitted in said time slot;and adjusting said time slot duration to a third time period, if saiddata comprises a particular packet type.
 5. The process of claim 4,wherein said second time period is greater than said first time period.6. The process of claim 5, wherein said third time period is greaterthan said first time period.
 7. A process of automatically adjusting atime slot duration of a time slot in a data channel, comprising thesteps of: determining content of the time slot in said data channel; andif the content includes a packet, determining whether the packet is of aparticular packet type, and adjusting the time slot duration of the timeslot in response to the packet type determination.
 8. The process ofclaim 7, wherein if the packet type is not of the particular packettype, the adjusting step increases said time slot duration of said timeslot to a predefined duration.
 9. The process of claim 7, wherein if thehe packet type is of the particular packet type, the adjusting stepincreases said time slot duration of said time slot according to thenumber of packets in the content with the particular packet type. 10.The process of claim 7, wherein if the content does not include anydata, the adjusting step decreases said time slot duration of said timeslot.
 11. A system for communicating data among different units,comprising: a data channel having a plurality of time slots fortransmitting and receiving data; each unit comprising a microprocessorcoupled to said data channel for monitoring and processing data; andsaid microprocessor adjusting a time slot duration of one of said timeslots depending on content of the time slot, wherein if the contentincludes data, said microprocessor determines whether the data is of aparticular data type and adjusts the time slot duration of said one ofsaid time slots in response to the data type determination.
 12. Thesystem of claim 11, wherein said microprocessor adjusts the time slotduration of a first time period if the content does not include anydata, and adjusts the time slot duration to a second time period if thecontent includes said data but the data type is not of the particulardata type.
 13. The system of claim 12, wherein said second time periodis greater than said first time period.
 14. The system of claim 12,wherein if the content includes said data and the data type, saidmicroprocessor adjusts the time slot duration is a third time period.15. A system for communicating data among different units, comprising: adata channel having a plurality of time slots for transmitting andreceiving data; each unit comprising a microprocessor coupled to saiddata channel for monitoring and processing data; said microprocessoradjusting a time slot duration of one of said time slots depending oncontent of the time slot; wherein said microprocessor adjusts the timeslot duration to a first time period of the data are not transmitted,and adjusts the time slot duration to a second time period id data arebeing transmitted; wherein said microprocessor further determineswhether the data being transmitted comprise a particular packet type;and wherein said microprocessor adjusts said time slot duration to athird time period, id the data comprise said particular packet type. 16.The system of claim 15, wherein said second time period is greater thansaid first time period.
 17. The system of claim 16, wherein said thirdtime period is greater than said first time period.